package com.xinqi.modules.sys.menu.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xinqi.common.mybatis.data.repo.SuperMapper;
import com.xinqi.modules.sys.menu.domain.MenuEntity;
import com.xinqi.modules.sys.menu.dto.req.MenuAllQueryDTO;
import com.xinqi.modules.sys.menu.dto.req.MenuQueryDTO;
import com.xinqi.modules.sys.menu.dto.rsp.MenuResultDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 系统菜单数据层
 *
 * @author: linkai
 * @date: 2023/04/01
 */
@Mapper
public interface MenuMapper extends SuperMapper<MenuEntity> {
    Page<MenuResultDTO> findPage(Page<Object> page, @Param("dto") MenuQueryDTO query);

    List<MenuResultDTO> findList(@Param("dto") MenuQueryDTO query);

    List<MenuResultDTO> findAll(@Param("dto") MenuAllQueryDTO dto);

    List<Long> findAllIds(@Param("dto") MenuAllQueryDTO dto);

    List<MenuResultDTO> findUserMenu(@Param("dto") MenuAllQueryDTO dto);

    List<MenuResultDTO> findChildByParentId(@Param("parentId") Long parentId);

}
